package com.sfx.shortLink.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sfx.shortLink.dto.req.PageRecycleBinReqDTO;
import com.sfx.shortLink.dto.req.RecoverRecycleBinReqDTO;
import com.sfx.shortLink.dto.req.RemoveRecycleBinReqDTO;
import com.sfx.shortLink.dto.req.SaveRecycleBinReqDTO;
import com.sfx.shortLink.dto.resp.PageRecycleBinRespDTO;

public interface IRecycleBinService {

    /**
     * 将短链接保存到回收站
     *
     * @param requestParam 请求参数
     */
    void saveRecycleBin(SaveRecycleBinReqDTO requestParam);

    /**
     * 回收站短链接分页查询
     *
     * @param requestParam 请求参数
     * @return 返回分页
     */
    IPage<PageRecycleBinRespDTO> pageRecycleBin(PageRecycleBinReqDTO requestParam);

    /**
     * 回收站-短链接恢复
     *
     * @param requestParam 请求参数
     */
    void recoverRecycleBin(RecoverRecycleBinReqDTO requestParam);

    /**
     * 回收站-短链接删除
     *
     * @param requestParam 请求参数
     */
    void removeRecycleBin(RemoveRecycleBinReqDTO requestParam);
}